Software Development Exam  >  Software Development Questions  >  What will be the output of the following code... Start Learning for Free
What will be the output of the following code?
var x = 10;
function outer() {
  function inner() {
    console.log(x);
  }
  inner();
  var x = 20;
}
outer();
  • a)
    10
  • b)
    20
  • c)
    undefined
  • d)
    Error
Correct answer is option 'C'. Can you explain this answer?
Most Upvoted Answer
What will be the output of the following code?var x = 10;function oute...
The 'inner' function is called before the 'x' variable is defined within the 'outer' function. Therefore, when 'console.log(x)' is executed, 'x' is undefined.
Free Test
Community Answer
What will be the output of the following code?var x = 10;function oute...
Explanation:

The output of the code will be undefined.

Reason:
When the function outer() is called, it executes the inner function inner() which tries to print the value of x. However, at that point, the variable x is declared but not yet assigned a value, so its value is undefined.

Detailed Explanation:

1) The variable x is declared and assigned the value 10 outside the outer() function. This makes it a global variable.

2) The outer() function is declared and defined.

3) Inside the outer() function, the inner() function is declared and defined.

4) The inner() function tries to print the value of x. However, at this point, a variable named x is also declared inside the outer() function, which creates a new local variable with the same name. This local variable x shadows the global variable x within the scope of the outer() function.

5) Before the inner() function is called, the local variable x is declared and assigned the value 20. At this point, the global variable x is not affected.

6) The inner() function is called, and it tries to print the value of x. Since the local variable x is declared but not yet assigned a value, its value is undefined.

7) The outer() function completes execution, and the program terminates.

Thus, the output of the code is undefined.
Attention Software Development Students!
To make sure you are not studying endlessly, EduRev has designed Software Development study material, with Structured Courses, Videos, & Test Series. Plus get personalized analysis, doubt solving and improvement plans to achieve a great score in Software Development.
Explore Courses for Software Development exam

Top Courses for Software Development

What will be the output of the following code?var x = 10;function outer() { function inner() { console.log(x); } inner(); var x = 20;}outer();a)10b)20c)undefinedd)ErrorCorrect answer is option 'C'. Can you explain this answer?
Question Description
What will be the output of the following code?var x = 10;function outer() { function inner() { console.log(x); } inner(); var x = 20;}outer();a)10b)20c)undefinedd)ErrorCorrect answer is option 'C'. Can you explain this answer? for Software Development 2024 is part of Software Development preparation. The Question and answers have been prepared according to the Software Development exam syllabus. Information about What will be the output of the following code?var x = 10;function outer() { function inner() { console.log(x); } inner(); var x = 20;}outer();a)10b)20c)undefinedd)ErrorCorrect answer is option 'C'. Can you explain this answer? covers all topics & solutions for Software Development 2024 Exam. Find important definitions, questions, meanings, examples, exercises and tests below for What will be the output of the following code?var x = 10;function outer() { function inner() { console.log(x); } inner(); var x = 20;}outer();a)10b)20c)undefinedd)ErrorCorrect answer is option 'C'. Can you explain this answer?.
Solutions for What will be the output of the following code?var x = 10;function outer() { function inner() { console.log(x); } inner(); var x = 20;}outer();a)10b)20c)undefinedd)ErrorCorrect answer is option 'C'. Can you explain this answer? in English & in Hindi are available as part of our courses for Software Development. Download more important topics, notes, lectures and mock test series for Software Development Exam by signing up for free.
Here you can find the meaning of What will be the output of the following code?var x = 10;function outer() { function inner() { console.log(x); } inner(); var x = 20;}outer();a)10b)20c)undefinedd)ErrorCorrect answer is option 'C'. Can you explain this answer? defined & explained in the simplest way possible. Besides giving the explanation of What will be the output of the following code?var x = 10;function outer() { function inner() { console.log(x); } inner(); var x = 20;}outer();a)10b)20c)undefinedd)ErrorCorrect answer is option 'C'. Can you explain this answer?, a detailed solution for What will be the output of the following code?var x = 10;function outer() { function inner() { console.log(x); } inner(); var x = 20;}outer();a)10b)20c)undefinedd)ErrorCorrect answer is option 'C'. Can you explain this answer? has been provided alongside types of What will be the output of the following code?var x = 10;function outer() { function inner() { console.log(x); } inner(); var x = 20;}outer();a)10b)20c)undefinedd)ErrorCorrect answer is option 'C'. Can you explain this answer? theory, EduRev gives you an ample number of questions to practice What will be the output of the following code?var x = 10;function outer() { function inner() { console.log(x); } inner(); var x = 20;}outer();a)10b)20c)undefinedd)ErrorCorrect answer is option 'C'. Can you explain this answer? tests, examples and also practice Software Development tests.
Explore Courses for Software Development exam

Top Courses for Software Development

Explore Courses
Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev